package cn.iocoder.yudao.module.biz.dal.mysql.risk.riskWarningSign;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.biz.controller.admin.risk.riskWarningSign.vo.*;
import cn.iocoder.yudao.module.biz.dal.dataobject.risk.riskWarningSign.BizRiskWarningSignDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 警示标志 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface BizRiskWarningSignMapper extends BaseMapperX<BizRiskWarningSignDO> {

    default PageResult<BizRiskWarningSignDO> selectPage(BizRiskWarningSignPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<BizRiskWarningSignDO>()
                .likeIfPresent(BizRiskWarningSignDO::getWarningName, reqVO.getWarningName())
                .eqIfPresent(BizRiskWarningSignDO::getWarningTypeId, reqVO.getWarningTypeId())
                .orderByDesc(BizRiskWarningSignDO::getCreateTime));
    }

    default List<BizRiskWarningSignDO> selectList(BizRiskWarningSignExportReqVO reqVO) {
        return selectList(new LambdaQueryWrapperX<BizRiskWarningSignDO>()
                .likeIfPresent(BizRiskWarningSignDO::getWarningName, reqVO.getWarningName())
                .eqIfPresent(BizRiskWarningSignDO::getWarningTypeId, reqVO.getWarningTypeId())
                .orderByDesc(BizRiskWarningSignDO::getCreateTime));
    }

    List<BizRiskWarningSignRespVO> getWarningSignPage(BizRiskWarningSignPageReqVO reqVO);

    Integer getWarningSignCount(BizRiskWarningSignPageReqVO reqVO);
}
